﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// 固定宽高比适配:用于3D场景内Camera根据不同设备分辨率，保持游戏画面的宽高比不变，适应不同尺寸的屏幕
/// 只适合正交投影摄像机
/// 具体步骤要求：
/// 1.设置Camera的Projection为Orthographic（正交投影）。
/// 2.项目玩法场景里，在设计分辨率下，调节好Camera.orthographicSize，这个size就是我们设计分辨率下匹配的宽高比，是固定值
/// 比如，设计分辨率 720x1280, 设定Camera.orthographicSize =10.5
/// 3.根据当前设备的屏幕宽高比，来确定实际游戏画面的显示区域。如果当前设备的宽高比与目标宽高比不一致，
/// 可以通过调整Camera的Size
/// Camera的Size可以通过如下公式计算：Size = (targetWidth / targetHeight) / (deviceWidth / deviceHeight) * (targetSize)
/// </summary>
public class CameraFixedAspectRatio : MonoBehaviour
{
    float DesignWidth = 720;
    float DesignHeight = 1280;
    
    // Start is called before the first frame update
    void Start()
    {
        float defaultCameraSize = GetComponent<Camera>().orthographicSize; //设计分辨率下的默认size
        float  num = DesignWidth / DesignHeight / ((float)Screen.width / (float)Screen.height);
        float newSize = defaultCameraSize * num;

        GetComponent<Camera>().orthographicSize = newSize;//调整为对应分辨率下的size
    }

}
